package com.gxs.tga.poc.service;

import java.util.List;

import com.gxs.tga.poc.domain.TgaSolution;
import com.gxs.tga.poc.domain.TgaWorksheet;
import com.gxs.tga.poc.domain.exceptions.DuplicateTgaWorksheet;
import com.gxs.tga.poc.domain.exceptions.TgaWorksheetNotFound;

public interface TgaWorksheetService 
{
	public TgaWorksheet create(TgaWorksheet tgaWorksheet) throws DuplicateTgaWorksheet;
	public TgaWorksheet delete(String sheetInstanceId) throws TgaWorksheetNotFound;
	public List<TgaWorksheet> findAll();
	public TgaWorksheet update(TgaWorksheet tgaWorksheet) throws TgaWorksheetNotFound;
	public TgaWorksheet findById(String sheetInstanceId);
	
	List<TgaWorksheet> findBySheetId(String sheetId);
	List<TgaWorksheet> findByShellId(String shellId);
	List<TgaWorksheet> findByTgaSolution(TgaSolution tgaSolution);
	List<TgaWorksheet> findByTgaSolutionAndShellId(TgaSolution tgaSolution, String shellId);

}
